package com.lingyu.jsjx.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 我的成就
对象 jsjx_award_record
 * 
 * @author ruoyi
 * @date 2025-08-08
 */
@TableName("jsjx_award_record")
public class AwardRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 获奖记录ID */
    @TableId(value = "award_id", type = IdType.AUTO)
    private Long awardId;

    /** 奖项名称 */
    @Excel(name = "奖项名称")
    private String awardName;

    /** 颁奖单位 */
    @Excel(name = "颁奖单位")
    private String awardingUnit;

    /** 获奖人 */
    @Excel(name = "获奖人")
    private String winner;

    /** 所属学院id */
    private Long collageId;

    /** 所属学院name */
    @Excel(name = "所属学院")
    private String collageName;

    /** 奖项级别（下拉选择） */
    private Long awardLevelId;

    /** 奖项级别（下拉选择） */
    @Excel(name = "奖项级别")
    private String awardLevelName;

    /** 获奖等级（下拉选择） */
    private Long awardRankId;

    /** 获奖等级（下拉选择） */
    @Excel(name = "获奖等级")
    private String awardRankName;

    /** 成果类型（下拉选择） */
    private Long resultTypeId;

    /** 成果类型（下拉选择） */
    @Excel(name = "成果类型")
    private String resultTypeName;

    /** 获奖时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "获奖时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date awardDate;

    /** 成果介绍（200字以内） */
    @Excel(name = "成果介绍")
    private String resultIntro;

    /** 证书附件路径 */
    private String certificateFileId;

    @TableField(exist = false)
    private List<FileInfo> certificateFileList;

    public List<FileInfo> getCertificateFileList() {
        return certificateFileList;
    }

    public void setCertificateFileList(List<FileInfo> certificateFileList) {
        this.certificateFileList = certificateFileList;
    }

    public void setAwardId(Long awardId)
    {
        this.awardId = awardId;
    }

    public Long getAwardId() 
    {
        return awardId;
    }
    public void setAwardName(String awardName) 
    {
        this.awardName = awardName;
    }

    public String getAwardName() 
    {
        return awardName;
    }
    public void setAwardingUnit(String awardingUnit) 
    {
        this.awardingUnit = awardingUnit;
    }

    public String getAwardingUnit() 
    {
        return awardingUnit;
    }
    public void setWinner(String winner) 
    {
        this.winner = winner;
    }

    public String getWinner() 
    {
        return winner;
    }
    public void setCollageId(Long collageId) 
    {
        this.collageId = collageId;
    }

    public Long getCollageId() 
    {
        return collageId;
    }
    public void setCollageName(String collageName) 
    {
        this.collageName = collageName;
    }

    public String getCollageName() 
    {
        return collageName;
    }
    public void setAwardLevelId(Long awardLevelId) 
    {
        this.awardLevelId = awardLevelId;
    }

    public Long getAwardLevelId() 
    {
        return awardLevelId;
    }
    public void setAwardLevelName(String awardLevelName) 
    {
        this.awardLevelName = awardLevelName;
    }

    public String getAwardLevelName() 
    {
        return awardLevelName;
    }
    public void setAwardRankId(Long awardRankId) 
    {
        this.awardRankId = awardRankId;
    }

    public Long getAwardRankId() 
    {
        return awardRankId;
    }
    public void setAwardRankName(String awardRankName) 
    {
        this.awardRankName = awardRankName;
    }

    public String getAwardRankName() 
    {
        return awardRankName;
    }
    public void setResultTypeId(Long resultTypeId) 
    {
        this.resultTypeId = resultTypeId;
    }

    public Long getResultTypeId() 
    {
        return resultTypeId;
    }
    public void setResultTypeName(String resultTypeName) 
    {
        this.resultTypeName = resultTypeName;
    }

    public String getResultTypeName() 
    {
        return resultTypeName;
    }
    public void setAwardDate(Date awardDate) 
    {
        this.awardDate = awardDate;
    }

    public Date getAwardDate() 
    {
        return awardDate;
    }
    public void setResultIntro(String resultIntro) 
    {
        this.resultIntro = resultIntro;
    }

    public String getResultIntro() 
    {
        return resultIntro;
    }
    public void setCertificateFileId(String certificateFileId) 
    {
        this.certificateFileId = certificateFileId;
    }

    public String getCertificateFileId() 
    {
        return certificateFileId;
    }
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("awardId", getAwardId())
            .append("awardName", getAwardName())
            .append("awardingUnit", getAwardingUnit())
            .append("winner", getWinner())
            .append("collageId", getCollageId())
            .append("collageName", getCollageName())
            .append("awardLevelId", getAwardLevelId())
            .append("awardLevelName", getAwardLevelName())
            .append("awardRankId", getAwardRankId())
            .append("awardRankName", getAwardRankName())
            .append("resultTypeId", getResultTypeId())
            .append("resultTypeName", getResultTypeName())
            .append("awardDate", getAwardDate())
            .append("resultIntro", getResultIntro())
            .append("certificateFileId", getCertificateFileId())
            .append("createBy", getCreateBy())
            .append("createByName", getCreateByName())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateByName", getUpdateByName())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
